package com.example.glgk.dto.indicator;

import com.example.glgk.dto.UserInfo;
import com.example.glgk.dto.indicatorAnalysisDto.DepartmentDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author lxk
 * <p>分析报告参数dto</p>
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class IndicatorCalculateDto {
    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @ApiModelProperty(value = "结束时间")
    private String endTime;

    private List<String> elementIds;

    @ApiModelProperty(value = "用户信息")
    private UserInfo userInfo;

    @ApiModelProperty(value = "进步/退步/满分 标识 0=满分 -1=退步 1=进步 2=持平")
    private Integer flag;

    @ApiModelProperty(value = "时间节点 month标识月份 year标识年")
    private String timeNode;

    @ApiModelProperty(value = "年份列表")
    private List<Integer> years;

    @ApiModelProperty(value = "指标名称列表")
    private List<String> indicatorIds;

    @ApiModelProperty(value = "去年开始时间")
    private String lastYearStartTime;

    @ApiModelProperty(value = "去年结束时间")
    private String lastYearEndTime;

    @ApiModelProperty(value = "前年开始时间")
    private String beforeYearStartTime;

    @ApiModelProperty(value = "前年结束时间")
    private String beforeYearEndTime;

    @ApiModelProperty(value = "大前年开始时间")
    private String previousYearStartTime;

    @ApiModelProperty(value = "大前年结束时间")
    private String previousYearEndTime;

    @ApiModelProperty(value = "用于前端区分是否重点监测")
    private String isMonitor;

    /**
     * 时间集合
     */
    private List<String> times;

    /**
     * 根据月进行筛选去重
     */
    List<String> groupTimes;


    /**
     * 填报任务Id,用来查找手填表的填报数据
     */
    List<String> taskIds;

    /**
     * 科室集合
     */
    private List<DepartmentDto> departmentDtoList;

    /**
     * 查询年份
     */
    private String queryYear;

    /**
     * 父指标的index_code,用于关联查询其子指标
     */
    private List<String> indexCodeList;


    /**
     * 最近五年的时间集合
     */
    private List<String> lastFiveYears;


}
